import React, { Component } from 'react'
import Demo from "./Child"

export default class Parent extends Component {

    state = { hasError: "" }

    // 当 Parent 的子组件出现报错的时候，会触发 getDerivedStateFromError 调用，并携带错误信息
    static getDerivedStateFromError(err) {
        console.log(err)
        return {hasError:err}
    }

    // 统计页面错误 发送到后台
    componentDidCatch(error,info){
        console.log(error,info)
    }

    render() {
        const { hasError } = this.state;
        return (
            <div>
                <h1>我是 Parent 组件</h1>
                {
                    hasError ? <h2>网络不佳 请稍后重试</h2> :
                        <Demo />
                }
            </div>
        )
    }
}
